package com.mrdeer.iot.service;

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.mrdeer.iot.dto.DeviceEntityDTO;
import com.mrdeer.iot.entity.DeviceEntity;

import java.util.List;

public interface DeviceService {

    /**
     * 根据设备ID删除设备信息
     *
     * @param id
     * @return
     */
    boolean deleteDeviceEntityById(String id);

    /**
     * 根据设备ID查询
     *
     * @param id
     * @return
     */
    DeviceEntity selectDeviceEntityById(String id);

    /**
     * 根据设备NAME查询
     *
     * @param name
     * @return
     */
    DeviceEntity selectDeviceEntityByName(String name);

    /**
     * 根据设备地址获取设备信息
     *
     * @param address
     * @return
     */
    DeviceEntity selectDeviceByAddress(String address);

    /**
     * 新增设备信息
     *
     * @param deviceEntity
     */
    void addDevice(DeviceEntity deviceEntity);

    /**
     * 批量新增设备
     *
     * @param entities
     */
    void addDevices(List<DeviceEntity> entities);

    /**
     * 获取设备列表，带分页、排序
     *
     * @param dto
     * @return
     */
    Page<DeviceEntity> deviceList(DeviceEntityDTO dto);

    /**
     * 更新设备信息
     *
     * @param deviceEntity
     * @return
     */
    DeviceEntity update(DeviceEntity deviceEntity);
}
